import 'package:enterprise_v6_app/generated/json/base/json_convert_content.dart';
import 'package:enterprise_v6_app/app/data/entities/application/education/train_plan/get_education_plan_entity.dart';

GetEducationPlanEntity $GetEducationPlanEntityFromJson(Map<String, dynamic> json) {
  final GetEducationPlanEntity getEducationPlanEntity = GetEducationPlanEntity();
  final String? assessorDate = jsonConvert.convert<String>(json['assessorDate']);
  if (assessorDate != null) {
    getEducationPlanEntity.assessorDate = assessorDate;
  }
  final String? assessorId = jsonConvert.convert<String>(json['assessorId']);
  if (assessorId != null) {
    getEducationPlanEntity.assessorId = assessorId;
  }
  final String? assessorName = jsonConvert.convert<String>(json['assessorName']);
  if (assessorName != null) {
    getEducationPlanEntity.assessorName = assessorName;
  }
  final String? companyCode = jsonConvert.convert<String>(json['companyCode']);
  if (companyCode != null) {
    getEducationPlanEntity.companyCode = companyCode;
  }
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    getEducationPlanEntity.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    getEducationPlanEntity.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    getEducationPlanEntity.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    getEducationPlanEntity.deleted = deleted;
  }
  final String? endTime = jsonConvert.convert<String>(json['endTime']);
  if (endTime != null) {
    getEducationPlanEntity.endTime = endTime;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    getEducationPlanEntity.id = id;
  }
  final int? numberOfQualifiedPersonnel = jsonConvert.convert<int>(json['numberOfQualifiedPersonnel']);
  if (numberOfQualifiedPersonnel != null) {
    getEducationPlanEntity.numberOfQualifiedPersonnel = numberOfQualifiedPersonnel;
  }
  final int? numberOfUnqualifiedPersonnel = jsonConvert.convert<int>(json['numberOfUnqualifiedPersonnel']);
  if (numberOfUnqualifiedPersonnel != null) {
    getEducationPlanEntity.numberOfUnqualifiedPersonnel = numberOfUnqualifiedPersonnel;
  }
  final String? organizationalUnit = jsonConvert.convert<String>(json['organizationalUnit']);
  if (organizationalUnit != null) {
    getEducationPlanEntity.organizationalUnit = organizationalUnit;
  }
  final String? organizationalUnitName = jsonConvert.convert<String>(json['organizationalUnitName']);
  if (organizationalUnitName != null) {
    getEducationPlanEntity.organizationalUnitName = organizationalUnitName;
  }
  final String? place = jsonConvert.convert<String>(json['place']);
  if (place != null) {
    getEducationPlanEntity.place = place;
  }
  final String? planName = jsonConvert.convert<String>(json['planName']);
  if (planName != null) {
    getEducationPlanEntity.planName = planName;
  }
  final String? processAttachments = jsonConvert.convert<String>(json['processAttachments']);
  if (processAttachments != null) {
    getEducationPlanEntity.processAttachments = processAttachments;
  }
  final String? ratingAttachment = jsonConvert.convert<String>(json['ratingAttachment']);
  if (ratingAttachment != null) {
    getEducationPlanEntity.ratingAttachment = ratingAttachment;
  }
  final String? startTime = jsonConvert.convert<String>(json['startTime']);
  if (startTime != null) {
    getEducationPlanEntity.startTime = startTime;
  }
  final String? status = jsonConvert.convert<String>(json['status']);
  if (status != null) {
    getEducationPlanEntity.status = status;
  }
  final List<GetEducationPlanTextbookIds>? textbookIds = (json['textbookIds'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<GetEducationPlanTextbookIds>(e) as GetEducationPlanTextbookIds).toList();
  if (textbookIds != null) {
    getEducationPlanEntity.textbookIds = textbookIds;
  }
  final List<GetEducationPlanTextbooks>? textbooks = (json['textbooks'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<GetEducationPlanTextbooks>(e) as GetEducationPlanTextbooks).toList();
  if (textbooks != null) {
    getEducationPlanEntity.textbooks = textbooks;
  }
  final int? trainedHours = jsonConvert.convert<int>(json['trainedHours']);
  if (trainedHours != null) {
    getEducationPlanEntity.trainedHours = trainedHours;
  }
  final String? trainingChannels = jsonConvert.convert<String>(json['trainingChannels']);
  if (trainingChannels != null) {
    getEducationPlanEntity.trainingChannels = trainingChannels;
  }
  final int? trainingHours = jsonConvert.convert<int>(json['trainingHours']);
  if (trainingHours != null) {
    getEducationPlanEntity.trainingHours = trainingHours;
  }
  final String? trainingLevel = jsonConvert.convert<String>(json['trainingLevel']);
  if (trainingLevel != null) {
    getEducationPlanEntity.trainingLevel = trainingLevel;
  }
  final String? trainingLevelName = jsonConvert.convert<String>(json['trainingLevelName']);
  if (trainingLevelName != null) {
    getEducationPlanEntity.trainingLevelName = trainingLevelName;
  }
  final String? trainingMethods = jsonConvert.convert<String>(json['trainingMethods']);
  if (trainingMethods != null) {
    getEducationPlanEntity.trainingMethods = trainingMethods;
  }
  final String? trainingMethodsName = jsonConvert.convert<String>(json['trainingMethodsName']);
  if (trainingMethodsName != null) {
    getEducationPlanEntity.trainingMethodsName = trainingMethodsName;
  }
  final String? trainingType = jsonConvert.convert<String>(json['trainingType']);
  if (trainingType != null) {
    getEducationPlanEntity.trainingType = trainingType;
  }
  final String? trainingTypeName = jsonConvert.convert<String>(json['trainingTypeName']);
  if (trainingTypeName != null) {
    getEducationPlanEntity.trainingTypeName = trainingTypeName;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    getEducationPlanEntity.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    getEducationPlanEntity.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    getEducationPlanEntity.updateDate = updateDate;
  }
  final List<GetEducationPlanUserIds>? userIds = (json['userIds'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<GetEducationPlanUserIds>(e) as GetEducationPlanUserIds).toList();
  if (userIds != null) {
    getEducationPlanEntity.userIds = userIds;
  }
  final List<GetEducationPlanUsers>? users = (json['users'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<GetEducationPlanUsers>(e) as GetEducationPlanUsers).toList();
  if (users != null) {
    getEducationPlanEntity.users = users;
  }
  return getEducationPlanEntity;
}

Map<String, dynamic> $GetEducationPlanEntityToJson(GetEducationPlanEntity entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['assessorDate'] = entity.assessorDate;
  data['assessorId'] = entity.assessorId;
  data['assessorName'] = entity.assessorName;
  data['companyCode'] = entity.companyCode;
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['endTime'] = entity.endTime;
  data['id'] = entity.id;
  data['numberOfQualifiedPersonnel'] = entity.numberOfQualifiedPersonnel;
  data['numberOfUnqualifiedPersonnel'] = entity.numberOfUnqualifiedPersonnel;
  data['organizationalUnit'] = entity.organizationalUnit;
  data['organizationalUnitName'] = entity.organizationalUnitName;
  data['place'] = entity.place;
  data['planName'] = entity.planName;
  data['processAttachments'] = entity.processAttachments;
  data['ratingAttachment'] = entity.ratingAttachment;
  data['startTime'] = entity.startTime;
  data['status'] = entity.status;
  data['textbookIds'] = entity.textbookIds?.map((v) => v.toJson()).toList();
  data['textbooks'] = entity.textbooks?.map((v) => v.toJson()).toList();
  data['trainedHours'] = entity.trainedHours;
  data['trainingChannels'] = entity.trainingChannels;
  data['trainingHours'] = entity.trainingHours;
  data['trainingLevel'] = entity.trainingLevel;
  data['trainingLevelName'] = entity.trainingLevelName;
  data['trainingMethods'] = entity.trainingMethods;
  data['trainingMethodsName'] = entity.trainingMethodsName;
  data['trainingType'] = entity.trainingType;
  data['trainingTypeName'] = entity.trainingTypeName;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  data['userIds'] = entity.userIds?.map((v) => v.toJson()).toList();
  data['users'] = entity.users?.map((v) => v.toJson()).toList();
  return data;
}

extension GetEducationPlanEntityExtension on GetEducationPlanEntity {
  GetEducationPlanEntity copyWith({
    String? assessorDate,
    String? assessorId,
    String? assessorName,
    String? companyCode,
    String? createBy,
    String? createById,
    String? createDate,
    String? deleted,
    String? endTime,
    String? id,
    int? numberOfQualifiedPersonnel,
    int? numberOfUnqualifiedPersonnel,
    String? organizationalUnit,
    String? organizationalUnitName,
    String? place,
    String? planName,
    String? processAttachments,
    String? ratingAttachment,
    String? startTime,
    String? status,
    List<GetEducationPlanTextbookIds>? textbookIds,
    List<GetEducationPlanTextbooks>? textbooks,
    int? trainedHours,
    String? trainingChannels,
    int? trainingHours,
    String? trainingLevel,
    String? trainingLevelName,
    String? trainingMethods,
    String? trainingMethodsName,
    String? trainingType,
    String? trainingTypeName,
    String? updateBy,
    String? updateById,
    String? updateDate,
    List<GetEducationPlanUserIds>? userIds,
    List<GetEducationPlanUsers>? users,
  }) {
    return GetEducationPlanEntity()
      ..assessorDate = assessorDate ?? this.assessorDate
      ..assessorId = assessorId ?? this.assessorId
      ..assessorName = assessorName ?? this.assessorName
      ..companyCode = companyCode ?? this.companyCode
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..endTime = endTime ?? this.endTime
      ..id = id ?? this.id
      ..numberOfQualifiedPersonnel = numberOfQualifiedPersonnel ?? this.numberOfQualifiedPersonnel
      ..numberOfUnqualifiedPersonnel = numberOfUnqualifiedPersonnel ?? this.numberOfUnqualifiedPersonnel
      ..organizationalUnit = organizationalUnit ?? this.organizationalUnit
      ..organizationalUnitName = organizationalUnitName ?? this.organizationalUnitName
      ..place = place ?? this.place
      ..planName = planName ?? this.planName
      ..processAttachments = processAttachments ?? this.processAttachments
      ..ratingAttachment = ratingAttachment ?? this.ratingAttachment
      ..startTime = startTime ?? this.startTime
      ..status = status ?? this.status
      ..textbookIds = textbookIds ?? this.textbookIds
      ..textbooks = textbooks ?? this.textbooks
      ..trainedHours = trainedHours ?? this.trainedHours
      ..trainingChannels = trainingChannels ?? this.trainingChannels
      ..trainingHours = trainingHours ?? this.trainingHours
      ..trainingLevel = trainingLevel ?? this.trainingLevel
      ..trainingLevelName = trainingLevelName ?? this.trainingLevelName
      ..trainingMethods = trainingMethods ?? this.trainingMethods
      ..trainingMethodsName = trainingMethodsName ?? this.trainingMethodsName
      ..trainingType = trainingType ?? this.trainingType
      ..trainingTypeName = trainingTypeName ?? this.trainingTypeName
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate
      ..userIds = userIds ?? this.userIds
      ..users = users ?? this.users;
  }
}

GetEducationPlanTextbookIds $GetEducationPlanTextbookIdsFromJson(Map<String, dynamic> json) {
  final GetEducationPlanTextbookIds getEducationPlanTextbookIds = GetEducationPlanTextbookIds();
  final String? companyCode = jsonConvert.convert<String>(json['companyCode']);
  if (companyCode != null) {
    getEducationPlanTextbookIds.companyCode = companyCode;
  }
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    getEducationPlanTextbookIds.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    getEducationPlanTextbookIds.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    getEducationPlanTextbookIds.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    getEducationPlanTextbookIds.deleted = deleted;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    getEducationPlanTextbookIds.id = id;
  }
  final int? textbookApproAch = jsonConvert.convert<int>(json['textbookApproAch']);
  if (textbookApproAch != null) {
    getEducationPlanTextbookIds.textbookApproAch = textbookApproAch;
  }
  final String? textbookCrowd = jsonConvert.convert<String>(json['textbookCrowd']);
  if (textbookCrowd != null) {
    getEducationPlanTextbookIds.textbookCrowd = textbookCrowd;
  }
  final String? textbookDateStart = jsonConvert.convert<String>(json['textbookDateStart']);
  if (textbookDateStart != null) {
    getEducationPlanTextbookIds.textbookDateStart = textbookDateStart;
  }
  final String? textbookForm = jsonConvert.convert<String>(json['textbookForm']);
  if (textbookForm != null) {
    getEducationPlanTextbookIds.textbookForm = textbookForm;
  }
  final String? textbookKeywords = jsonConvert.convert<String>(json['textbookKeywords']);
  if (textbookKeywords != null) {
    getEducationPlanTextbookIds.textbookKeywords = textbookKeywords;
  }
  final String? textbookLecturerId = jsonConvert.convert<String>(json['textbookLecturerId']);
  if (textbookLecturerId != null) {
    getEducationPlanTextbookIds.textbookLecturerId = textbookLecturerId;
  }
  final String? textbookLecturerName = jsonConvert.convert<String>(json['textbookLecturerName']);
  if (textbookLecturerName != null) {
    getEducationPlanTextbookIds.textbookLecturerName = textbookLecturerName;
  }
  final String? textbookName = jsonConvert.convert<String>(json['textbookName']);
  if (textbookName != null) {
    getEducationPlanTextbookIds.textbookName = textbookName;
  }
  final String? textbookOverview = jsonConvert.convert<String>(json['textbookOverview']);
  if (textbookOverview != null) {
    getEducationPlanTextbookIds.textbookOverview = textbookOverview;
  }
  final String? textbookTypeDicId = jsonConvert.convert<String>(json['textbookTypeDicId']);
  if (textbookTypeDicId != null) {
    getEducationPlanTextbookIds.textbookTypeDicId = textbookTypeDicId;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    getEducationPlanTextbookIds.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    getEducationPlanTextbookIds.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    getEducationPlanTextbookIds.updateDate = updateDate;
  }
  final int? viewNumber = jsonConvert.convert<int>(json['viewNumber']);
  if (viewNumber != null) {
    getEducationPlanTextbookIds.viewNumber = viewNumber;
  }
  return getEducationPlanTextbookIds;
}

Map<String, dynamic> $GetEducationPlanTextbookIdsToJson(GetEducationPlanTextbookIds entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['companyCode'] = entity.companyCode;
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['id'] = entity.id;
  data['textbookApproAch'] = entity.textbookApproAch;
  data['textbookCrowd'] = entity.textbookCrowd;
  data['textbookDateStart'] = entity.textbookDateStart;
  data['textbookForm'] = entity.textbookForm;
  data['textbookKeywords'] = entity.textbookKeywords;
  data['textbookLecturerId'] = entity.textbookLecturerId;
  data['textbookLecturerName'] = entity.textbookLecturerName;
  data['textbookName'] = entity.textbookName;
  data['textbookOverview'] = entity.textbookOverview;
  data['textbookTypeDicId'] = entity.textbookTypeDicId;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  data['viewNumber'] = entity.viewNumber;
  return data;
}

extension GetEducationPlanTextbookIdsExtension on GetEducationPlanTextbookIds {
  GetEducationPlanTextbookIds copyWith({
    String? companyCode,
    String? createBy,
    String? createById,
    String? createDate,
    String? deleted,
    String? id,
    int? textbookApproAch,
    String? textbookCrowd,
    String? textbookDateStart,
    String? textbookForm,
    String? textbookKeywords,
    String? textbookLecturerId,
    String? textbookLecturerName,
    String? textbookName,
    String? textbookOverview,
    String? textbookTypeDicId,
    String? updateBy,
    String? updateById,
    String? updateDate,
    int? viewNumber,
  }) {
    return GetEducationPlanTextbookIds()
      ..companyCode = companyCode ?? this.companyCode
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..id = id ?? this.id
      ..textbookApproAch = textbookApproAch ?? this.textbookApproAch
      ..textbookCrowd = textbookCrowd ?? this.textbookCrowd
      ..textbookDateStart = textbookDateStart ?? this.textbookDateStart
      ..textbookForm = textbookForm ?? this.textbookForm
      ..textbookKeywords = textbookKeywords ?? this.textbookKeywords
      ..textbookLecturerId = textbookLecturerId ?? this.textbookLecturerId
      ..textbookLecturerName = textbookLecturerName ?? this.textbookLecturerName
      ..textbookName = textbookName ?? this.textbookName
      ..textbookOverview = textbookOverview ?? this.textbookOverview
      ..textbookTypeDicId = textbookTypeDicId ?? this.textbookTypeDicId
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate
      ..viewNumber = viewNumber ?? this.viewNumber;
  }
}

GetEducationPlanTextbooks $GetEducationPlanTextbooksFromJson(Map<String, dynamic> json) {
  final GetEducationPlanTextbooks getEducationPlanTextbooks = GetEducationPlanTextbooks();
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    getEducationPlanTextbooks.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    getEducationPlanTextbooks.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    getEducationPlanTextbooks.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    getEducationPlanTextbooks.deleted = deleted;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    getEducationPlanTextbooks.id = id;
  }
  final String? planId = jsonConvert.convert<String>(json['planId']);
  if (planId != null) {
    getEducationPlanTextbooks.planId = planId;
  }
  final String? textbookId = jsonConvert.convert<String>(json['textbookId']);
  if (textbookId != null) {
    getEducationPlanTextbooks.textbookId = textbookId;
  }
  final String? textbookName = jsonConvert.convert<String>(json['textbookName']);
  if (textbookName != null) {
    getEducationPlanTextbooks.textbookName = textbookName;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    getEducationPlanTextbooks.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    getEducationPlanTextbooks.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    getEducationPlanTextbooks.updateDate = updateDate;
  }
  return getEducationPlanTextbooks;
}

Map<String, dynamic> $GetEducationPlanTextbooksToJson(GetEducationPlanTextbooks entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['id'] = entity.id;
  data['planId'] = entity.planId;
  data['textbookId'] = entity.textbookId;
  data['textbookName'] = entity.textbookName;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  return data;
}

extension GetEducationPlanTextbooksExtension on GetEducationPlanTextbooks {
  GetEducationPlanTextbooks copyWith({
    String? createBy,
    String? createById,
    String? createDate,
    String? deleted,
    String? id,
    String? planId,
    String? textbookId,
    String? textbookName,
    String? updateBy,
    String? updateById,
    String? updateDate,
  }) {
    return GetEducationPlanTextbooks()
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..id = id ?? this.id
      ..planId = planId ?? this.planId
      ..textbookId = textbookId ?? this.textbookId
      ..textbookName = textbookName ?? this.textbookName
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate;
  }
}

GetEducationPlanUserIds $GetEducationPlanUserIdsFromJson(Map<String, dynamic> json) {
  final GetEducationPlanUserIds getEducationPlanUserIds = GetEducationPlanUserIds();
  final int? allocation = jsonConvert.convert<int>(json['allocation']);
  if (allocation != null) {
    getEducationPlanUserIds.allocation = allocation;
  }
  final String? areaCode = jsonConvert.convert<String>(json['areaCode']);
  if (areaCode != null) {
    getEducationPlanUserIds.areaCode = areaCode;
  }
  final String? avatar = jsonConvert.convert<String>(json['avatar']);
  if (avatar != null) {
    getEducationPlanUserIds.avatar = avatar;
  }
  final String? birthday = jsonConvert.convert<String>(json['birthday']);
  if (birthday != null) {
    getEducationPlanUserIds.birthday = birthday;
  }
  final int? branchPersonInCharge = jsonConvert.convert<int>(json['branchPersonInCharge']);
  if (branchPersonInCharge != null) {
    getEducationPlanUserIds.branchPersonInCharge = branchPersonInCharge;
  }
  final String? certificate = jsonConvert.convert<String>(json['certificate']);
  if (certificate != null) {
    getEducationPlanUserIds.certificate = certificate;
  }
  final String? certificateNum = jsonConvert.convert<String>(json['certificateNum']);
  if (certificateNum != null) {
    getEducationPlanUserIds.certificateNum = certificateNum;
  }
  final int? certificateRemind = jsonConvert.convert<int>(json['certificateRemind']);
  if (certificateRemind != null) {
    getEducationPlanUserIds.certificateRemind = certificateRemind;
  }
  final String? certificateUrl = jsonConvert.convert<String>(json['certificateUrl']);
  if (certificateUrl != null) {
    getEducationPlanUserIds.certificateUrl = certificateUrl;
  }
  final int? checkId = jsonConvert.convert<int>(json['checkId']);
  if (checkId != null) {
    getEducationPlanUserIds.checkId = checkId;
  }
  final int? chemistry = jsonConvert.convert<int>(json['chemistry']);
  if (chemistry != null) {
    getEducationPlanUserIds.chemistry = chemistry;
  }
  final String? companyCode = jsonConvert.convert<String>(json['companyCode']);
  if (companyCode != null) {
    getEducationPlanUserIds.companyCode = companyCode;
  }
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    getEducationPlanUserIds.createBy = createBy;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    getEducationPlanUserIds.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    getEducationPlanUserIds.deleted = deleted;
  }
  final int? departManager = jsonConvert.convert<int>(json['departManager']);
  if (departManager != null) {
    getEducationPlanUserIds.departManager = departManager;
  }
  final String? departmentName = jsonConvert.convert<String>(json['departmentName']);
  if (departmentName != null) {
    getEducationPlanUserIds.departmentName = departmentName;
  }
  final String? description = jsonConvert.convert<String>(json['description']);
  if (description != null) {
    getEducationPlanUserIds.description = description;
  }
  final String? documentUrl = jsonConvert.convert<String>(json['documentUrl']);
  if (documentUrl != null) {
    getEducationPlanUserIds.documentUrl = documentUrl;
  }
  final String? education = jsonConvert.convert<String>(json['education']);
  if (education != null) {
    getEducationPlanUserIds.education = education;
  }
  final String? email = jsonConvert.convert<String>(json['email']);
  if (email != null) {
    getEducationPlanUserIds.email = email;
  }
  final String? endTime = jsonConvert.convert<String>(json['endTime']);
  if (endTime != null) {
    getEducationPlanUserIds.endTime = endTime;
  }
  final String? firstTime = jsonConvert.convert<String>(json['firstTime']);
  if (firstTime != null) {
    getEducationPlanUserIds.firstTime = firstTime;
  }
  final String? formId = jsonConvert.convert<String>(json['formId']);
  if (formId != null) {
    getEducationPlanUserIds.formId = formId;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    getEducationPlanUserIds.id = id;
  }
  final int? isSystem = jsonConvert.convert<int>(json['isSystem']);
  if (isSystem != null) {
    getEducationPlanUserIds.isSystem = isSystem;
  }
  final int? isViewAll = jsonConvert.convert<int>(json['isViewAll']);
  if (isViewAll != null) {
    getEducationPlanUserIds.isViewAll = isViewAll;
  }
  final String? jobNumber = jsonConvert.convert<String>(json['jobNumber']);
  if (jobNumber != null) {
    getEducationPlanUserIds.jobNumber = jobNumber;
  }
  final String? lastLoginTime = jsonConvert.convert<String>(json['lastLoginTime']);
  if (lastLoginTime != null) {
    getEducationPlanUserIds.lastLoginTime = lastLoginTime;
  }
  final int? mainPersonInCharge = jsonConvert.convert<int>(json['mainPersonInCharge']);
  if (mainPersonInCharge != null) {
    getEducationPlanUserIds.mainPersonInCharge = mainPersonInCharge;
  }
  final String? mobile = jsonConvert.convert<String>(json['mobile']);
  if (mobile != null) {
    getEducationPlanUserIds.mobile = mobile;
  }
  final String? nickname = jsonConvert.convert<String>(json['nickname']);
  if (nickname != null) {
    getEducationPlanUserIds.nickname = nickname;
  }
  final String? otherUid = jsonConvert.convert<String>(json['otherUid']);
  if (otherUid != null) {
    getEducationPlanUserIds.otherUid = otherUid;
  }
  final String? personDictId = jsonConvert.convert<String>(json['personDictId']);
  if (personDictId != null) {
    getEducationPlanUserIds.personDictId = personDictId;
  }
  final String? positionName = jsonConvert.convert<String>(json['positionName']);
  if (positionName != null) {
    getEducationPlanUserIds.positionName = positionName;
  }
  final String? professionalName = jsonConvert.convert<String>(json['professionalName']);
  if (professionalName != null) {
    getEducationPlanUserIds.professionalName = professionalName;
  }
  final GetEducationPlanUserIdsRoleIds? roleIds = jsonConvert.convert<GetEducationPlanUserIdsRoleIds>(json['roleIds']);
  if (roleIds != null) {
    getEducationPlanUserIds.roleIds = roleIds;
  }
  final int? safetyEngineer = jsonConvert.convert<int>(json['safetyEngineer']);
  if (safetyEngineer != null) {
    getEducationPlanUserIds.safetyEngineer = safetyEngineer;
  }
  final int? samplingAnalysis = jsonConvert.convert<int>(json['samplingAnalysis']);
  if (samplingAnalysis != null) {
    getEducationPlanUserIds.samplingAnalysis = samplingAnalysis;
  }
  final String? school = jsonConvert.convert<String>(json['school']);
  if (school != null) {
    getEducationPlanUserIds.school = school;
  }
  final int? sex = jsonConvert.convert<int>(json['sex']);
  if (sex != null) {
    getEducationPlanUserIds.sex = sex;
  }
  final String? sexName = jsonConvert.convert<String>(json['sexName']);
  if (sexName != null) {
    getEducationPlanUserIds.sexName = sexName;
  }
  final String? sign = jsonConvert.convert<String>(json['sign']);
  if (sign != null) {
    getEducationPlanUserIds.sign = sign;
  }
  final int? specialOperations = jsonConvert.convert<int>(json['specialOperations']);
  if (specialOperations != null) {
    getEducationPlanUserIds.specialOperations = specialOperations;
  }
  final String? specialWorks = jsonConvert.convert<String>(json['specialWorks']);
  if (specialWorks != null) {
    getEducationPlanUserIds.specialWorks = specialWorks;
  }
  final List<dynamic>? specialWorksArray = (json['specialWorksArray'] as List<dynamic>?)?.map(
          (e) => e).toList();
  if (specialWorksArray != null) {
    getEducationPlanUserIds.specialWorksArray = specialWorksArray;
  }
  final int? specialitySafe = jsonConvert.convert<int>(json['specialitySafe']);
  if (specialitySafe != null) {
    getEducationPlanUserIds.specialitySafe = specialitySafe;
  }
  final String? starTime = jsonConvert.convert<String>(json['starTime']);
  if (starTime != null) {
    getEducationPlanUserIds.starTime = starTime;
  }
  final int? status = jsonConvert.convert<int>(json['status']);
  if (status != null) {
    getEducationPlanUserIds.status = status;
  }
  final int? taskCount = jsonConvert.convert<int>(json['taskCount']);
  if (taskCount != null) {
    getEducationPlanUserIds.taskCount = taskCount;
  }
  final String? titleName = jsonConvert.convert<String>(json['titleName']);
  if (titleName != null) {
    getEducationPlanUserIds.titleName = titleName;
  }
  final int? type = jsonConvert.convert<int>(json['type']);
  if (type != null) {
    getEducationPlanUserIds.type = type;
  }
  final String? unitName = jsonConvert.convert<String>(json['unitName']);
  if (unitName != null) {
    getEducationPlanUserIds.unitName = unitName;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    getEducationPlanUserIds.updateBy = updateBy;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    getEducationPlanUserIds.updateDate = updateDate;
  }
  final String? url = jsonConvert.convert<String>(json['url']);
  if (url != null) {
    getEducationPlanUserIds.url = url;
  }
  final String? userType = jsonConvert.convert<String>(json['userType']);
  if (userType != null) {
    getEducationPlanUserIds.userType = userType;
  }
  final String? username = jsonConvert.convert<String>(json['username']);
  if (username != null) {
    getEducationPlanUserIds.username = username;
  }
  final List<dynamic>? workRoleId = (json['workRoleId'] as List<dynamic>?)?.map(
          (e) => e).toList();
  if (workRoleId != null) {
    getEducationPlanUserIds.workRoleId = workRoleId;
  }
  final String? workRoleName = jsonConvert.convert<String>(json['workRoleName']);
  if (workRoleName != null) {
    getEducationPlanUserIds.workRoleName = workRoleName;
  }
  return getEducationPlanUserIds;
}

Map<String, dynamic> $GetEducationPlanUserIdsToJson(GetEducationPlanUserIds entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['allocation'] = entity.allocation;
  data['areaCode'] = entity.areaCode;
  data['avatar'] = entity.avatar;
  data['birthday'] = entity.birthday;
  data['branchPersonInCharge'] = entity.branchPersonInCharge;
  data['certificate'] = entity.certificate;
  data['certificateNum'] = entity.certificateNum;
  data['certificateRemind'] = entity.certificateRemind;
  data['certificateUrl'] = entity.certificateUrl;
  data['checkId'] = entity.checkId;
  data['chemistry'] = entity.chemistry;
  data['companyCode'] = entity.companyCode;
  data['createBy'] = entity.createBy;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['departManager'] = entity.departManager;
  data['departmentName'] = entity.departmentName;
  data['description'] = entity.description;
  data['documentUrl'] = entity.documentUrl;
  data['education'] = entity.education;
  data['email'] = entity.email;
  data['endTime'] = entity.endTime;
  data['firstTime'] = entity.firstTime;
  data['formId'] = entity.formId;
  data['id'] = entity.id;
  data['isSystem'] = entity.isSystem;
  data['isViewAll'] = entity.isViewAll;
  data['jobNumber'] = entity.jobNumber;
  data['lastLoginTime'] = entity.lastLoginTime;
  data['mainPersonInCharge'] = entity.mainPersonInCharge;
  data['mobile'] = entity.mobile;
  data['nickname'] = entity.nickname;
  data['otherUid'] = entity.otherUid;
  data['personDictId'] = entity.personDictId;
  data['positionName'] = entity.positionName;
  data['professionalName'] = entity.professionalName;
  data['roleIds'] = entity.roleIds?.toJson();
  data['safetyEngineer'] = entity.safetyEngineer;
  data['samplingAnalysis'] = entity.samplingAnalysis;
  data['school'] = entity.school;
  data['sex'] = entity.sex;
  data['sexName'] = entity.sexName;
  data['sign'] = entity.sign;
  data['specialOperations'] = entity.specialOperations;
  data['specialWorks'] = entity.specialWorks;
  data['specialWorksArray'] = entity.specialWorksArray;
  data['specialitySafe'] = entity.specialitySafe;
  data['starTime'] = entity.starTime;
  data['status'] = entity.status;
  data['taskCount'] = entity.taskCount;
  data['titleName'] = entity.titleName;
  data['type'] = entity.type;
  data['unitName'] = entity.unitName;
  data['updateBy'] = entity.updateBy;
  data['updateDate'] = entity.updateDate;
  data['url'] = entity.url;
  data['userType'] = entity.userType;
  data['username'] = entity.username;
  data['workRoleId'] = entity.workRoleId;
  data['workRoleName'] = entity.workRoleName;
  return data;
}

extension GetEducationPlanUserIdsExtension on GetEducationPlanUserIds {
  GetEducationPlanUserIds copyWith({
    int? allocation,
    String? areaCode,
    String? avatar,
    String? birthday,
    int? branchPersonInCharge,
    String? certificate,
    String? certificateNum,
    int? certificateRemind,
    String? certificateUrl,
    int? checkId,
    int? chemistry,
    String? companyCode,
    String? createBy,
    String? createDate,
    String? deleted,
    int? departManager,
    String? departmentName,
    String? description,
    String? documentUrl,
    String? education,
    String? email,
    String? endTime,
    String? firstTime,
    String? formId,
    String? id,
    int? isSystem,
    int? isViewAll,
    String? jobNumber,
    String? lastLoginTime,
    int? mainPersonInCharge,
    String? mobile,
    String? nickname,
    String? otherUid,
    String? personDictId,
    String? positionName,
    String? professionalName,
    GetEducationPlanUserIdsRoleIds? roleIds,
    int? safetyEngineer,
    int? samplingAnalysis,
    String? school,
    int? sex,
    String? sexName,
    String? sign,
    int? specialOperations,
    String? specialWorks,
    List<dynamic>? specialWorksArray,
    int? specialitySafe,
    String? starTime,
    int? status,
    int? taskCount,
    String? titleName,
    int? type,
    String? unitName,
    String? updateBy,
    String? updateDate,
    String? url,
    String? userType,
    String? username,
    List<dynamic>? workRoleId,
    String? workRoleName,
  }) {
    return GetEducationPlanUserIds()
      ..allocation = allocation ?? this.allocation
      ..areaCode = areaCode ?? this.areaCode
      ..avatar = avatar ?? this.avatar
      ..birthday = birthday ?? this.birthday
      ..branchPersonInCharge = branchPersonInCharge ?? this.branchPersonInCharge
      ..certificate = certificate ?? this.certificate
      ..certificateNum = certificateNum ?? this.certificateNum
      ..certificateRemind = certificateRemind ?? this.certificateRemind
      ..certificateUrl = certificateUrl ?? this.certificateUrl
      ..checkId = checkId ?? this.checkId
      ..chemistry = chemistry ?? this.chemistry
      ..companyCode = companyCode ?? this.companyCode
      ..createBy = createBy ?? this.createBy
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..departManager = departManager ?? this.departManager
      ..departmentName = departmentName ?? this.departmentName
      ..description = description ?? this.description
      ..documentUrl = documentUrl ?? this.documentUrl
      ..education = education ?? this.education
      ..email = email ?? this.email
      ..endTime = endTime ?? this.endTime
      ..firstTime = firstTime ?? this.firstTime
      ..formId = formId ?? this.formId
      ..id = id ?? this.id
      ..isSystem = isSystem ?? this.isSystem
      ..isViewAll = isViewAll ?? this.isViewAll
      ..jobNumber = jobNumber ?? this.jobNumber
      ..lastLoginTime = lastLoginTime ?? this.lastLoginTime
      ..mainPersonInCharge = mainPersonInCharge ?? this.mainPersonInCharge
      ..mobile = mobile ?? this.mobile
      ..nickname = nickname ?? this.nickname
      ..otherUid = otherUid ?? this.otherUid
      ..personDictId = personDictId ?? this.personDictId
      ..positionName = positionName ?? this.positionName
      ..professionalName = professionalName ?? this.professionalName
      ..roleIds = roleIds ?? this.roleIds
      ..safetyEngineer = safetyEngineer ?? this.safetyEngineer
      ..samplingAnalysis = samplingAnalysis ?? this.samplingAnalysis
      ..school = school ?? this.school
      ..sex = sex ?? this.sex
      ..sexName = sexName ?? this.sexName
      ..sign = sign ?? this.sign
      ..specialOperations = specialOperations ?? this.specialOperations
      ..specialWorks = specialWorks ?? this.specialWorks
      ..specialWorksArray = specialWorksArray ?? this.specialWorksArray
      ..specialitySafe = specialitySafe ?? this.specialitySafe
      ..starTime = starTime ?? this.starTime
      ..status = status ?? this.status
      ..taskCount = taskCount ?? this.taskCount
      ..titleName = titleName ?? this.titleName
      ..type = type ?? this.type
      ..unitName = unitName ?? this.unitName
      ..updateBy = updateBy ?? this.updateBy
      ..updateDate = updateDate ?? this.updateDate
      ..url = url ?? this.url
      ..userType = userType ?? this.userType
      ..username = username ?? this.username
      ..workRoleId = workRoleId ?? this.workRoleId
      ..workRoleName = workRoleName ?? this.workRoleName;
  }
}

GetEducationPlanUserIdsRoleIds $GetEducationPlanUserIdsRoleIdsFromJson(Map<String, dynamic> json) {
  final GetEducationPlanUserIdsRoleIds getEducationPlanUserIdsRoleIds = GetEducationPlanUserIdsRoleIds();
  return getEducationPlanUserIdsRoleIds;
}

Map<String, dynamic> $GetEducationPlanUserIdsRoleIdsToJson(GetEducationPlanUserIdsRoleIds entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  return data;
}

extension GetEducationPlanUserIdsRoleIdsExtension on GetEducationPlanUserIdsRoleIds {
}

GetEducationPlanUsers $GetEducationPlanUsersFromJson(Map<String, dynamic> json) {
  final GetEducationPlanUsers getEducationPlanUsers = GetEducationPlanUsers();
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    getEducationPlanUsers.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    getEducationPlanUsers.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    getEducationPlanUsers.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    getEducationPlanUsers.deleted = deleted;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    getEducationPlanUsers.id = id;
  }
  final String? planId = jsonConvert.convert<String>(json['planId']);
  if (planId != null) {
    getEducationPlanUsers.planId = planId;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    getEducationPlanUsers.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    getEducationPlanUsers.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    getEducationPlanUsers.updateDate = updateDate;
  }
  final String? userId = jsonConvert.convert<String>(json['userId']);
  if (userId != null) {
    getEducationPlanUsers.userId = userId;
  }
  final String? userName = jsonConvert.convert<String>(json['userName']);
  if (userName != null) {
    getEducationPlanUsers.userName = userName;
  }
  return getEducationPlanUsers;
}

Map<String, dynamic> $GetEducationPlanUsersToJson(GetEducationPlanUsers entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['id'] = entity.id;
  data['planId'] = entity.planId;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  data['userId'] = entity.userId;
  data['userName'] = entity.userName;
  return data;
}

extension GetEducationPlanUsersExtension on GetEducationPlanUsers {
  GetEducationPlanUsers copyWith({
    String? createBy,
    String? createById,
    String? createDate,
    String? deleted,
    String? id,
    String? planId,
    String? updateBy,
    String? updateById,
    String? updateDate,
    String? userId,
    String? userName,
  }) {
    return GetEducationPlanUsers()
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..id = id ?? this.id
      ..planId = planId ?? this.planId
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate
      ..userId = userId ?? this.userId
      ..userName = userName ?? this.userName;
  }
}
